package com.itheima.d3_method_references;

/**
 * 目标：构造器引用(理解语法)
 */
public class Test3 {
    public static void main(String[] args) {
        // 1 使用lambda表达式
//        CreateCar c = new CreateCar() {
//            @Override
//            public Car create(String name, double price) {
//                //返回一个Car类型的对象
//                return new Car(name,price);
//            }
//        };
//        Car car = c.create("小摩托", 12);
//        System.out.println(car);
        CreateCar c = (name,price)-> new Car(name,price);
        Car car = c.create("大汽车", 12);
        System.out.println(car);


        // 2 使用构造器引用
        CreateCar cc = Car::new;
        Car car1 = cc.create("BYD", 12);
        System.out.println(car1);

    }
}

interface CreateCar {
    // 抽象方法 : 接受两个参数 , 创建Car对象并返回
    Car create(String name, double price);
}